package com.example.springcloud.config;

import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: ws
 * Date: 2024-02-08
 * Time: 19:16
 */
// 注解路由配置规则（等价与 yml）
@Configuration
public class GateWayConfig {

    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder routeLocatorBuilder) {
        RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes();

        /*
        * 1、path_route_example：路由id，可以随便写，写什么写什么，不写也行，不写默认为route-1
        * 2、path：匹配路径，可以是正则表达式
        * 3、uri：匹配路径对应的请求地址
        * 以上的意思是 访问 http://localhost:9527/guonei 路径时，自动转发到 https://cn.bing.com/ 这个地址
         */
        routes.route("path_route_example",
                r -> r.path("/qqq").uri("https://cn.bing.com/")).build();

        return routes.build();
    }
}
